gomu::Sprite: Rename methods to lowercase

This matches the style of the rest of the project
include/gomu: Make all include guards have GOMU_ prefix

This reduces the change of conflicting with user header guard
Add gomu::isKeyDown()
gomu::Application::exec(): Warn user and exit if no state set
gomu::Application: Properly call SDL *_Quit() functions in destructor
gomu::Application::exec(): Do not unconditionally fail.

I made a mistake in a previous commit, making exec() automatically fail
instead of only failing when m_state is null.
This commit fixes it.
gomu::Application: Do not set arbitrary clear color, do not automatically call glClear() before draw.

The arbitrary clear color was red. It's not a good default.
If we don't call glClearColor(), the default is black.

Do not automatically call glClear() before draw, because the user might not
want to clear the screen for various reasons. It also doesn't need to be
called if the whole screen is filled with drawings. Let the user decide.
gomu::Sprite::loadImage: Expect RGBA format instead of BGRA

This fixes wrong texture color in Text example.
It's not a final solution, as pixel data might not always be RGBA format.
See the TODO comment.
tests/Text: Clear the screen

A previous commit removed the automatic screen clearing, so we need to
manually clear the screen now.
gomu::Sprite: Don't print 'loaded *' when successfully loading an image

User should only be notified if something goes wrong, no need to spam
the console output.
Add new test: Sticks

Sticks is a test for sprites, as well as dynamically changing text.

This commit also removes the sprite from the Text test.
gomu::Text: Don't print 'loaded *' when successfully loading a font

User should only be notified if something goes wrong, no need to spam
the console output.
Merge pull request #11 from crumblingstatue/master

Various improvements