SDL Fixes

Use a separate canvas context for computing font sizes. This allows SDL to be used as a font-renderer in applications where SDL is otherwise not responsible for rendering to the canvas (since such applications will not call SDL_SetVideoMode() and thus won't have SDL.screen set). In turn this allows removal of FreeType from such applications, which is a huge speed win.

Also made it obey the font that the caller passes in while I was in the code.

Suspect more changes may be necessary to realize the goal of FreeType replacement, but these changes seem to be at least no worse than their predecessors.