Update Ponykart++ TODO

We don't strictly need this anymore with the bug trackers and project
management systems, but it's still somewhat useful. To me. I should just
unindex this, shouldn't I ?
Add CEGUI initialization

We now depend on CEGUI.
Starts implementing UIMain (incomplete)

Note : Compiling CEGUI on Windows/MSVC is a *pain*. The source code was
missing some #includes for algorithm.h (for std::min and std::max), and
the default generated project files were linking against the wrong Ogre
target (release instead of debug in debug mode), resulting in
hard-to-debug runtime crashes during CEGUI's initialization.
Load a menu background placeholder in UIMain

UIMain will now load dashbackground.png and checkers.png as a quick
placeholder for the menu's background.
Fix DEBUG #define conflicting with CEGUI

CEGUI would always define DEBUG to 1 unless it was already defined
(Config.h). This would trigger Debug behavior in Release builds.
We change our DEBUG to _DEBUG
Add MainMenuManager, move menu placeholder there

Started implementing MainMenuManager (the onLeveLoad/Unload event
handlers aren't implemented yet, and the menu is still a placeholder)

Move the menu placeholder creation from UIMain to MainMenuManager
Implement UIMain::frameStarted
Improve the menu placeholder
Move & Update media/ folder

The media/ folder now contains everything but the plugins.
Now you just need to compile ponykart, copy the media/ folder in the
build/ folder, and add the compiled plugins in build/media/plugins
Ignore (but log) OpenAL error 40964

It happens at random when initializing the sound system.
This (apparently) isn't a fatal error, so we just log it as a warning
Forward SDL mouse events to CEGUI
Add new fonts
Create CEGUI widget definitions for the main menu
Add buttons to the main menu, "Quit" will exit

Add Single Player, Host Network Game, Join Network Game, Options and
Quit.

The submenus aren't implemented. Clicking on Quit will exit.
Start implementing level loading, gui handlers

The code will compile but *NOT* link.

This creates files, declares functions and add boilerplate so that we
can implement directly loading a level from the main menu's "Single
Player" button.
Implement StaticGeometryManager::build()
Implement InstancedGeometryManager::build()
Declare MuffinImporter,MuffinImporte::parseByName
Implement Level::readMuffin()
Implement MuffinDefinition::getExtraFiles
Implement MuffinImporter::parseByName