[core ent] Send trapped cursor motion through listener system.
[core ent shell] Do input polling with Listener
[core vis] More automatic handling of program attributes.
[geo shell ent] Start writing editor.

Also made main.hacc a document.
[vis] Add draw_rect
[geo] Draw boundaries around rooms in editor
[geo] Make Resident_Editor a Listener
[core geo] Implement resident dragging
[core geo ent] Freeze camera when editing
[geo] Allow pushing camera in free_camera mode
[core] Make some commands more efficient.
[ent geo shell vis] Let geo do camera handling
[core ent geo] Do Vec space manipulation in Camera
[geo] Camera was using integer division to get values between 1 and 0 :)