Add base Level class for other levels to inherit from
Refactor Levels to inherit from base Level
FailLevel can simply inherit from TitleLevel.

Only differerence is in create_image!, so FailLevel can just override with
new message.
Moar Level classes!

The only difference between TitleLevel and FailLevel is the message.
Now MessageLevel knows how to create a level to display a message,
and TitleLevel and FailLevel just need to know what message they
want to display.
Converting RubyhopGame to singleton
Detangle window

Start to get rid of needing to pass the Gosu::Window around. Create
simple wrapper classes for some of the Gosu classes we are using that
can get the window from the RubyhopGame.instance method.
No hot potato

Instead of passing around level and window objects, in some cases
remove responsibility to the parent object, in other cases use
the window singleton.
Doesn't look like this is used?
Make less maths
Silencing Warnings

Fixing code that was throwing some warnings.
* Incorrect indentation
* Ambiguous use of '&'
* Overridden attr_accessor
Get tests minimally 'working'
Write some Level tests
Add tests for Player

Also add a filename getter for Gosu Image wrapper to
make it easier to write some tests.
Adding initial tests for Hoop
Merge pull request #5 from davy/hopfactoring

Hopfactoring