Provide module user a way to override parser/maker

- Change the registry of recepie from .factory to .provider, make the
$websocket service configurable.
- $websocketProvider provides two methods to override default
  maker/parser:
  - `set_message_maker(maker)`
  - `set_message_parser(parser)`