* 17d2b2b (HEAD, rework_mousemodes) Intermediate commit, hacking fence gui * 6904bda Add: Allow overriding fence sprites with highlighting, recode fence drawing. * 830aa11 Add: Fence selector, some cleanup. * d4a6a49 Remove: Delete some fence parts * 6c1af62 Codechange: Remove generic mouse select mode (RMB dragging, object selecting) * b6a193a Codechange: Allow retrieval of mouse position and button state from the window manager. * 56dc7c1 Feature: Make selected ride parts white and somewhat transparent. * f6f83c6 Add: Clicking to build a new track piece, Also, clean up old code. * 6576169 Add: Display coaster piece at the cursor through the selector. * 3f8ab42 Change: Rewrite mouse mode implementation. * 3823846 Codechange: Introduce methods to obtain ride number and instance data of a coaster voxel. * e03f0ea Codechange: Use selectors for the coaster build window. * 63e6e2c Add: Cursor mouse mode has lower and upper vertical position for world additions. * baea905 Add: Query voxel Z range to render from the selector. * 6a3b645 Add: Compute rectangular area required by a track piece in the XY plane. * aea012b Codechange: Copy a value rather than constructing the value again. * a21a6dd Remove: MultiCursor is now unused. * 7b181b4 Codechange: Switch terraform gui to selectors. * 53762d4 Add: Push selector into world view rendering, query cursor from selector. <<<---- here even fixing becomes nontrivial * 9abe18b Remove: SetXYOffset is not used. <<<<---- here it fails to merge (quite fixable) * de14209 Add: Forward mouse event of the viewport to the selector window. * f3bbf8b Add: Make the current cursor variable. * 889698d Add: Mouse mode with cursor area. * 26fb694 Add: Method to get top ground voxel coordinate. * 720e1e4 Add: Set selector, window manager tracks highest window with active selector. * 6d8b556 Add: Mouse mode selector class.