[Extensions] Separate loading JS code from extension module registration

This is a step towards loading JS code on demand.
[Extensions] Make XWalkExtensionClient unaware of ModuleSystem

XWalkExtensionClient job is to communicate with its Server, and provide
access to instances. Currently XWalkExtensionRendererController knows
all those objects, so it can glue the pieces.
[Extensions] XWalkExtensionModule create its instance

Now it's up to XWalkExtensionModule to create its instance in the
Client. This is a preparation for only creating an instance when the
extension is loaded.

As part of the change, the RemoteRunner abstraction was removed. In the
end, it wasn't bringing us much separation, especially now
ExtensionModule needs a way to create instances (which is Client job).

The runner had an interface that the ExtensionModule implemented, and
was used to tell it about messages from native. This interface was moved
to XWalkExtensionClient::InstanceHandler.
Merge pull request #877 from cmarcelo/remove-remote-runner

[Extensions] Make ExtensionModule create its instance