Set dummy main loop

Prevents Emscripten from unloading Stockfish when main function ends.
JavaScript interface relies on callbacks, not traditional main loop,
and we want to keep things loaded to handle events correctly.
Add Sebastian Skalacki to engine info
Non-blocking condition variables

Condition variable implemented as a queue of continuations with optional
guards.

Continuation defined as boost::function (typically obtained with
boost::bind) with void return value.

Any use of new condition variables requires reworking function's flow,
usually by putting return statement right after wait call.
wip timer thread
wip loop main thre
wip

WARN: emscripten.h added, too late?
Stockfish command line NodeJS-based runner
Asynchronous input processing
Customizable UCI output mechanism

Instead of writing it to cout, collect whole output in string stream and
emit it with overridable handler.
Disable some platform-specific behaviours

Depending on target platform or compiler, several optimizations
(including raw assembly language) could be inserted.  Disable them.
Print debug output to proper stream

Sync_cout no longer uses std::cout so that needed to be updated.
Problematic line removed from benchmark

Synchronous wait removed instead of reworking it.  Benchmark may be
broken now.
Demo: In-browser game player vs Stockfish