Make CommunicationBridge fully asynchronous

- Removes ability to return JSON from messages
- This is because we use prompt to communicate from JS -> Java,
  but prompt blocks!
- This still breaks saved pages, because they use Java to
  calculate MD5. Fixed in later commit

Change-Id: I19edfba3f872047f274fbde75dfaf2c9f92e06bf
Use OpenSans WebFont for primary content

This does not adversely affect performance, since we are
loading the font locally

Change-Id: I003c70c7dcaa31069998965f5a21af6ade6eba4e