Add OpenGL Support to Overlay Mode

This pull request add support for using stonesense overlay in OpenGL rendering modes. Standard and VBO modes are supported, and probably some others (untested). Only tested on Windows, although I have no reason to expect issues on other platforms.

The OpenGL code has been successfully tested on my machine, and I expect it to work on most machines, since I only use really old OpenGL fixed-function pipeline features. Basically if windowed stonesense can run with "[RENDERER:OPENGL]" on the machine, this should work too.

Some notes: It is compatible with the multilevel version of the Text Will Be Text plugin. Please don't try to go changing how the the interposing code works without verifying compatibility with TWBT and VBO mode. The regular vtable interpose method will not work. That said don't hesitate to replace the header definition for `renderer_opengl` with an auto-generated one if from DFHack if one gets added.

This pull request also incorporates the code my previous one (#20) because there is some overlap in changes.