Image reference improvements

ImageBank is added, serving as a central repository for all commonly
used images. Sprites now have constructors with strings that reference
the imagebank for ease-of-use. Because ImageBank makes it easy to get
safe Image references, ImageRef is removed.

Images now prepend "res/" to the filename when reading images from disk,
making res the default resource folder. As far as I can tell, all calls
to read an image from disk will eventually lead back to a call of an
Image constructor, so this change should cover everything.

Made some changes to Keyboard to make the code look nicer.