Remove unnecessary copy constructor from WritableVirtualController.
Introduce the new input functionality. Some old buttons are now obsolete.
Migrate all controller clients to use the new buttons.
Add comments for the new virtual buttons.
Modify key mappings to fit the new input spec.
Fix the ordering of Draw() calls.

The ball was being drawn underneath the launcher, and the "hand" of
the launcher is now drawn underneath the launcher's base.
Make the game background less saturated.
Remove white pixels from the platform textures.
Tweak the platform textures.

Edges have been added to the ends of each platform, and the diagonal
lines in the texture have been made more smooth.
Change the pixels on the edges of the launcher's base.

It only looked good if the background was white, but it isn't.
Change the pixels on the edge of the death trap's texture.
Change the pixels on the edge of the ball's texture.
Change the menu background.
Fix issue #96.
Read par times and calculate the score.

I haven't added par times to the XML files yet, though. Also, there's
no way for another class to know the score yet. I'll do that later.
Calculate the score.

Data related to the score is stored in a LevelScoreData structure, and
this structure is passed to any method that listens for the
Simulation's OnCompletion event. For now, everything is printed
to the console, but that should change pretty quickly. :)
Add par times.

These are untested, though, and may need to be balanced.
Make level 12 easier.

This reduces the need for the usage of user-placed platforms, but
before, reaching the goal required too much precision.
Fixes #99
Input handlers should be registered only when the screen has loaded all of its content.