Add basic collision detection, circular movement

Pre-Alpha.0.06

An object implementing Physical can get another Physical object's
rectangle. That's really all there is to it. Later on there will
probably be more features and the Physical interface should help with
that.

Mobs are Physical. They have a hitbox (just a Rectangle) and the ability
to correct for out of bounds.

Baddie moves around randomly. Game has a new static Random that it uses
to generate its numbers. If it used its own Random, then all the
instances would do the same thing since they all get their tick()
methods called in the same millisecond.

KeyInput is in the io package instead of having an input package.

Player and Baddie both use trig to movethe same distance no matter the
angle. Player's is modified because with keyboard input there are
booleans to work with instead of angle values.

Game holds the value of the universal isometric ratio: 0.5. If I ever
want to change the ratio, I just have to change that value and all the
movement will be covered.

Git ignores screenshots/. Deleted the only screenshot so it stops
following it.

player.png wasn't used. It has been deleted.
Put Baddies in the middle of the screen

It's easier to test things this way, since they tend to stay in the area
where they are put.
Implement seamless screenshots

When taking a screenshot, a copy of the pixel array is made, and that
copy is saved in a parallel Thread instead of holding up the game thread
waiting for the data to save.
Refactor Game.RAND

Game.RAND is shorter and just as descriptive as Game.GLOBAL_RAND
Add random Baddies with the G key

Allows for easier testing of baddies
Refactor KeyInput

Previous code required copying and pasting of 8 lines of code to add a
new key. Now there's 2 lines.
Batch of unorganized changes

Instead of Render going through Entities and figuring out what they
should look like, it is passed to each Entity which renders whatever the
hell it wants. This is a much more flexible system. Now a new Entity can
be added without adding compatibility for it into Render.

devmode button (F3) added

World has a Rectangle for bounds instead of containing the height and
width. This allows ingame objects to reference the rectangle instead of
referencing the world.

Started work on a Text object that should be able to render basic text.
It's not finished, so it won't actually work yet.
Add DevInfo, refactor Keyboard, comment

Game provides DevInfo with data about the game's status every second,
and if devmode is on, devmode's render method is called and it displays
the text on the screen. This allows easy addition of new data without
taking space in the titlebar, plus it looks cooler and paves the way for
future text display stuff.

Game.setup() has been added, allowing the Game to get its resources
prepared before it starts running. Just doing it in the constructor
doesn't really work out well because the buffer strategy can't be set
there for not-quite-understood reasons.

The Renderable interface seems to be taking some of the place of the
Entity class, so Entity's definition is being narrowed down to mean any
object in the game world. I like strong class definitions, and so should
you.

Text was deleted when I found out I didn't need it at all.

Render no longer contains a method to render a list of entities because
that's really none of its business. It can just keep rendering one thing
at a time and be happy it doesn't have to think any more than that.
Framerate and Fullscreen experimentation

I've determined that fullscreen is definitely possible, but quick render
clearing is not. Need to experiment with more fullscreen details like
rendering the right number of pixels and stuff. Also need to find out
why I get limited to 60 FPS when the program shouldn't have any clue
where my render cycle is... Very strange things going on there...