Implement HandleExternalProtocol of the ShellResourceDispatcherHostDelegate

Code borrow from [external_protocol_handler](https://code.google.com/p/chromium/codesearch#chrome/src/chrome/browser/external_protocol/external_protocol_handler.h&cl=GROK&l=92). Fix #403.