Changes for updated SDL touch API.

SDL touch API was changed in 7833f01322b3. Now, coordinates in event are already come normalized. Magic, weee!
Fixed compilation problems
Introduced fileopen_SDL_RWops_RO()

SDL_RWFromFP is not working on Windows. fileopen_SDL_RWops_RO() works like fileopenRO() + SDL_RWFromFP().
Began to write batch tile grid drawing.
DrawBatch* interface in NXSurface and Graphics.
Graphical hacks infrastructure

Why hacks? Because SDL2 didn't suppot needed functionality for batch rendering.
There is 2 options:
1. Rewrite render from scratch again on opengl and drop sdl2 render
2. Hack SDL2 code and add needed functionality.

I will try second approach.
Working batch rendering for opengl

Only map tiles are rendered in batch now.
Merge remote-tracking branch 'origin/sdl_touch_api_update' into batch_render_gles
Ugly support of gles2

Really ugly. I've copied SDL_render_gles2.c almost entirely. Should do something with it.
map_draw_backdrop
indentation
If pass 0 to BatchBegin(), auto_realloc will be enabled.

It means, that now max_size in BatchBegin() is only a hint.
sprites can be drawn in batch
Statusbar sprites are drawn in batches
DrawBatchAddPatternAcross
More optimizations
Allow batch draws on texture
Minimap rendered with normal speed

Fixes #8
Fixed #32

There was unsynchronized access in main thread and sound device thread. final_buffer was freed in main thread without locking, so sound thread crashed on access.
Merge branch 'fix_32_crash_on_music_change' into batch_render_gles