Call runtime.LockOSThread in Run.

The runtime locks aren't re-entrant so we cannot guarantee that
the main goroutine is locked down when Run is entered.

By explicitly calling it first thing, we know for sure that the
following thread check is sane, and the program will then either work
as expected or panic immediately.

See discussion in #66
qml_test: Recheck gc aliveness in a loop. Discussed in #66
Merge pull request #72 from quarnster/runtime_lock

Runtime lock tweaks for #66