rtlib: Protect all FB_HANDLE_SCREEN access with FB_LOCK()
Start making gfxlib2 thread-safe
rtlib: Refactor fb_PageSet()
rtlib: Ensure fb_IsRedirected() is protecting hook access with FB_LOCK()

just to match all the other functions using hooks.
makefile: Build libfbgfxmt.a
rtlib: Ensure fb_ReadString() is protecting hook access with FB_LOCK()
gfxlib2 fbdev driver: Use memmove() instead of overlapping memcpy()
rtlib: Avoid uninitialized access in Linux multikey()
gfxlib2: Protect __fb_ctx.hooks setter code with FB_LOCK()
rtlib: Protect Linux multikey()'s __fb_ctx.hooks setter code with FB_LOCK()
gfxlib2: Remove empty files (135ff741 regression)
gfxlib2: Protect FB_HANDLE_SCREEN access in fb_GfxSreen*
rtlib: Add FB_GRAPHICS_LOCK()
gfxlib2: Adjust all gfx functions (entry points) to use FB_GRAPHICS_LOCK()
Automatically link fbgfxmt if gfx and thread functions are used

When using FB graphics and threading functions, we want to use libfbgfxmt
instead of libfbgfx.

Previously in rtl-gfx.bas the compiler just added -lfbgfx and dependencies
directly. But now we need to choose -lfbgfx or -lfbgfxmt depending on
FB_COMPOPT_MULTITHREADED, which may only be set after gfx functions were
seen, for example:
	screen ...
	foo = threadcreate( ... )

Thus we need to delay adding -lfbgfx or -lfbgfxmt because doing it in
rtl-gfx.bas is too early.

Instead, now we have a FB_COMPOPT_GFX (though it's just used internally and
there is no fbc -gfx command line option) which is set in rtl-gfx.bas and
handled by the fbc frontend (hAddDefaultLibs()) and also the objinfo code.
Fix hStripExt() to not strip across path component separators
examples: Add glFlush() call to fbgfx OpenGL example

because otherwise the quad won't be drawn (on my current system).
Add an example for FB graphics + multi-threading