RuntimeContext must be destructed explicitly

When MessageLoop is stopped, runtime_context_ must be set to null.
It will call RuntimeContext destruction method, which happened on
MainThread. It blocked download_browsertest.

BUG=https://crosswalk-project.org/jira/browse/XWALK-408
Implement runtime features support for Crosswalk.

This commit implements the first part to support runtime enabled
features in Crosswalk. It contains a set of scripts and an .in
file to declare the features and generate code to easily check
wether a feature is stable, experimental or used for testing and if
it's enabled or not.

The way to check in C++ if the feature is enabled is as follow :

if(XWalkRuntimeEnabledFeatures::runAsServiceEnabled) ...

This commit doesn't yet implement the support to trigger these through
the command line.
Implement generation of command line switches for runtime feature flags.

Generate runtime switches so that people can overide the default in
our .in file by passing -enable-feature or -disable-feature to the
command line.
Protect the SysApp RawSocket and DeviceCapabilities API behind a feature flag.

The flag is stable (on) by default.