Add scalaz to SBT library dependencies.
Use conditional operator ? provided by scalaz.
Share GlobalScope among GamePluginWorkers.

Currently, each GamePluginWorker has their own ModuleScope. It makes
recovery scope easy because restarting the worker that has corrupted
scope recovers the scope.

But we implemented timer APIs(setTimer and setInterval) and will
implement Future API. These API don't ensure the callback is executed in
the same worker. So we decided share the scope among GamePluginWorkers.

This patch also makes GamePlugin restart when one of the
GamePluginWorker occurs exception to recreate engine.
Seal standard objects.

Currently, BeyondGlobal doesn't seal the standard objects(e.g. Object,
String, Array, JSON and etc.).

This patch makes BeyondGlobal seal the standard objects.
Add interface to access BeyondGlobal with BeyondContextFactory.
Add ExecutionContext to JavaScrit engine and BeyondContextFactory.

This execution context will be used by Future API.
Introduce future API on JavaScript.

There are three function to create Future.
 - create
    Create new future with the given callback.
    The callback will be execued in the execution context of the engine.
 - successful
    Create future with the given value.
 - failed
    Create future with the given error message.

This patch adds onComplete, onSuccess and onFailure method to Future
object. These three method take one callback function, but the argument
type of the callback function is different.
And these three methods return itself to help method chaining.

See https://github.com/SollmoStudio/beyond/wiki/Beyond-Future-API for
more detail.