Code refactoring and go-fmt run
Don't like the move-relative with top-down
Build string -> event mapping so we can read custom keybindings

Put together a NilEvent to take the 0 index, which is the 0 value of the
string->event map
NewObject() constructors should always return pointers
In-line define events w/ their names

Found out I can do things in a var() block that const() doesn't allow,
like start-up time initialization!
Add string -> key mappings for Keys. Also created KeyCode type

While using 'int' for key codes would work, I wanted to be more
consistant with events and other structures and have custom types to
wrap fundamental types. This required a few changes to Emitters to match
the new types.
Make the same int -> KeyCode change to Mouse button events
Read keybindings from the config file

Woo! No more hard-coded key mappings, now everything comes from the
settings.json file, "keybindings" section. An event can have any number
of keys bound to it. I'm going this direction instead of grouping
events, we'll see if I need to do more or if this suffices.