Changed/added a whole bunch of shit

Renamed GameSettings to Params, for conciseness (although, this was
before I realized we could do static imports to avoid writing the class
prefix on every static variable)

Added a LevelEditor class (runs as an alternative to the normal game
loop, and can be toggled with a boolean in the Params class). So far,
you can press shift to begin creating an obstacle. While holding shift,
click in various locations to add vertices to it, and then release
shift to create the obstacle.

Added a badass InputHandler with some gangsta event handling. It will
make processing user input extremely easy moving forward.

Re-approached the whole "PixelsToMeters" thing. First of all, I created
an inverse metersToPixels, so we can convert both ways without getting
confused on multiplication vs division (now you just multiply by the
correct variable). Also refactored a lot of the code involving this,
because I think we should be thinking primarily in terms of pixels. We
should only convert to meters directly before we give data to Box2D,
and we should immediately convert them back to pixels when retrieving
said data.

Made all global params final, just 'cause.

Added as many comments as I could, to hopefully explain how everything
works. Some of the code is a bit convoluted.