begin unfucking the threading setup..

the interaction between qml and qt and all the threads they have is going
to get fixed, rearchitecting the startup/init pieces of the client, for
starters..made confusing though by how qml instantiates some things,etc.
i believe i will continue to have qml instantiate the chat/hotbar models
and just emit signals that has data that is mutexed. actually, signals
alone shouldn't be a problem...but mutexed properties should be necessary
i'm thinking
add clientbackend, copy qml-exposed stuff from client into that

(skeleton) only, more to follow.
this should fix our init-too-fast catch-22 problem
Merge branch 'master' into unfuck-threads

Conflicts:
	src/CMakeLists.txt
	src/client/client.cpp
	src/client/client.h
	src/client/quickview.cpp
fix FTBFS
much further in thread fixes, client is now on the right thread

and clientbackend exists properly now. just need to fix the various
chat/hotbar models(broken entirely, not sure what should instantiate that),
and hookup clientbackend to client and fill it in with stuff.
actually starts now, but --play-now doesn't work, among other things
lots of cleanup, i can see the game now, it now joins if --play-now

restore hotbarimageprovider
rm dead code, make game quickview's friend, so i don't need to duplicate
all the attributes just for passing around..rm a lot of dead code

now to fix up the clientbackend class for signals to and from qml,
and to ensure things are thread-safe
progress in connecting stuff up to client/clientbackend
update readme
hookup most/all of clientbackend
fix all qml stuff, now obtain qml image path via ClientBackend.texturePath

which accepts a file as param, returns a full formatted path.
shutdown and disconnect properly, by setting a flag on those events

and checking for it each tick. this means we can delete on the same
thread, etc. should be working great now, and without crashes (one hopes)

doc things a bit better too
fix some double frees
fix another double free, clang address sanitizer is amazing

and that's just seeing the leak checker, which is in experimental
mode..looks nice too. and works well.
leak fixes (minor, only on quit)
fix qml gui host/join, etc., fix checkbox texture path being wrong
set triple buffering, disable vsync by default.
depend on 5.3, move gl init stuff to quickview, almost fix khr_debug again

use qt5openglextensions as well.
link against qtopengl..not sure if this is bad to do for me or not

hopefully it won't bring in unnecessary stuff/dependencies (think
package managers and the qt5 package modularization)
rm a decent amount of dead code, restore GL_KHR_debug, using qt's class

bonus might be that there's less staticness all around..not a fan that
it isn't actually removable at debug time..sure, i can #ifdef ndebug
in the message slot, but the compiler would have no idea to turn that
into nothing. but, that's overoptimization at this point.