Input on a diet.

Input is now evented and passes a callback into rubyland.
Things still need fixing, but this now effectively means we're
not focusing on having both a C++ and mruby API at the same time.
rubyland work! Input events roughly done.
Game scripts fixes
Vector2 and Vector3 are now in the c++ bindings
Merged in Vector2 and Vector3 patches
Observer should init_eventable until we have prepend
Input fixes, and tweaks

input.cxx, just broke the function decl into 2 lines
input.rb - fixed unitialized constants,
on_key will trigger a KeyboardEvent
while on_button will trigger a MouseEvent,
instead of both triggering Event.
Added Event#alt?, Event#ctrl?, Event#super?, Event#shift?
Updated ScreenElement Vector2::object_to_vec2_a > Vector2::extract
Updated TODO
what is this, I don't even...

leftovers?
remove unnecessary includes
sort out a few more includes
minor s/_//
update sprite.tone to use Moon::Color, and tone RGBS instead of HSL
Updated TODO
Added Vector(2|3)#zero?
Added Sprite#color, and tampered with Sprite#tone :P

Also fixed that Rectangle! We used Rect everywhere else and then this Rectangle just crops up...
Fixed Vector's not extracting Arrays correctly
Bumped up mruby version, be sure to clean build it