add single start point for remote scripts

Add ProtocolManager which provides an 'enable' method that makes
the entire sequence start. It allows controlling transport
connection, document observation, etc. This way we can guarantee that
messages won't be sent before web socket connection is ready and better
orchestrate other dependencies on the remote side.
ProtocolManager.enable is being invoked after document is loaded.
add initial tests for remote protocol
right extension name for getting require context
Merge pull request #23 from sebaslv/enable-remote

Add single point for remote scripts to be 'enabled'