Made mouse it's own singleton instance. This way we won't have to go
through InputHandler. Mouse and Keyboards implement different
interfaces, so it'd be messy to plugin the input handler into the swing
framework. Instead, I'm thinking we'll plugin the mouse and keyboard
into the swing framework through the engine instantiation. Then we can
do Mouse.getInstance() to get the mouse, and keybaord.getInstance() to
get the keyboard.

I also added the MouseClickedListener. The actual MouseListener
interface has a bunch of methods that probably won't be used. We really
only care about the mouse being clicked, so implementing this interface
avoids having a bunch of methods that don't actually do anything. Those
are kept in the Mouse class. Silently waiting...
Put the mouse and keyboard in their respective packages. Removed
InputHandler.
Moved Keys.java from amethyst. This was just a lot of menial labor, and
is a lot nicer to deal with than virtual key constants.
Added KeyPressedListener. Fixed Mouse singleton pattern and added
Singleton pattern to keyboard.