Fix GC pauses by reusing canvas elements
Bunch of changes to support Syobon Action.
* Replace the 'scan' function, which maps a WebGL object to an
  associated integer id, with a 'name' property stored on the object.
  The linear scan was rather slow, and as the vector grew in size
  games were slowing to a few fps.
Fix negative surface zooming.
Implement ellipse drawing and refactor rect code.
Add workaround for FF.
Avoid noisy error logs.
Add (failing) test for gfx primitives.
Wrap gfx helpers in a $SDL_gfx object.
Cast signedness in library_SDL functions.
Add comment.
Merge pull request #1364 from int3/syobon

Bunch of SDL fixes that are needed for running Open Syobon Action.
Add sdl_gfx_primitives.c to git.
Merge pull request #1365 from int3/syobon

Add sdl_gfx_primitives.c to git.
glGenTextures: correct the setting of the object name.
Merge pull request #1363 from dtc/sdl-touch

Add basic touch support that translates to mouse events.
Document canvasPool
Add missing braces
Merge pull request #1354 from fhd/fix-gc-pauses

Fix GC pauses by reusing canvas elements
Merge pull request #1362 from dtc/obj-name

Replace the 'scan' function, which maps a WebGL object to anassociated integer id, with a 'name' property stored on the object. The linear scan was rather slow, and as the vector grew in size  games were slowing to a few fps.