Fix segfault on startup and randomly buggy texture IDs.

- SurfaceLoader rewritten so that it is initialized at proper time, not before main() starts.
- Closes #49 (texture glitch).
- Fixes a random segfault on startup bug that I've been seeing lately.
- Remove Yoda's old comment from video_driver (probably no longer relevant).
Implement proper support for different types of bitmaps (non-premultiplied etc).

- Implements "possible fix 3" of issue #32. Not closed yet, as some issues remain.
- Store premul/linear info on Bitmaps and Surfaces
- Set blending function whenever drawing a Surface (this should cause other minor rendering issues but it solves the premultiplication problem)
- Implement write/read support for non-standard .premul.png format (used for cached SVGs)
- Use libpng (rather than Cairo toy API) for writing cache PNGs
- Replace struct Image (only used for screenshots) with Bitmap, which was functionally (nearly) equivalent anyway
- Clean up writePNG (+ possibly bugfix with stride calculation, or b0rked screenshot functionality now)
- Add debug printouts for image loading/writing code
- Needs a major testing...
- Some graphics now appear painfully bright, theming changes welcome!
Make struct Color use linearized (but still non-premultiplied) colors internally.

- Fixes OpenGLText color (now matches with SVG)
- Closes #32.
- Slightly affects colors set in code. Color("#rrggbbaa") is now the preferred way to set them.
- Alpha changes and other effects and animations are now in linear space, which may slightly alter the looks.
Fix hiscore saving (regression)

- B0rked by bad search&replace in commit f55f3f3fac2ef013efdbaade448c4c198d0494b6
- Added more log printout
- Minor cleanup
Various theme fixes/updates.
Fix MXE script (broken by the boost cmake change).
Improve hiscore rendering.

- Do not display anything when there are no hiscores.
- Group by track (alphabetical order by track name, FIXME: should be in logical order)
- Position hiscore text via theme instead of hacking it in code.
- Add number of songs to database log messages.
Improve 'no matching song' messages in song browser.
Update Finnish translation.
Remove arrows and padding from song browser navigational hints. All localizations need to be updated (translators should be aware that poedit suggestions are incorrect).
Remove fa.mo that had been accidentally added to repository.
MXE script: Strip exes in release builds.
Windows installer: Install fonts globally to C:\Windows\Fonts.
Fit score window into wide screen.
Fix freestyle note text positioning for the new font.
More contrast to selected-non-selected main menu option texts.
Modify menu selected item background.

* Rectangular looks better with variying size items
* Brings a bit consistency with song browser song background
* I needed to modify cpp for some reason :(
Farsi Translation has been updated(100%)
change: update French translation
Update translations. Still incomplete: da, de, hu, it, jp, pl, pt_BR, sv and zh.