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
Updated remaining examples to use v1 API

In most cases, just removed qml.Init, and called run() with
qml.Run(nil, run) instead.

One example, particle, didn't use the same setup as the other examples
by instead doing all the work in main. Fixed to look more like the other
examples by moving qml code to run() and returning errors through run()'s
return value instead of panicing.
Made particle example even more conformant with other examples.

Used fmt.Fprintf/os.Exit, instead of log.Fatal.
Merge pull request #72 from quarnster/runtime_lock

Runtime lock tweaks for #66
Merge pull request #71 from cookieo9/fix-examples-v1

Update all examples to use v1 API