User ui gum logic

I've not spent time on polishing the design yet, rather the logic on how to handle getUserMedia permissions + some other small fixes.

Also I've chosen to leave the current UI for the result as I think it's pretty clear cut. What I do want to add however is if something goes wrong, let the user have the option to watch her/his own camera feed and listen to the mic input.

* UI
 + Expert mode button bypasses the UI.
 + Added base overlay ui elements.
 + Added logic for handling different permission states:
    + First time user.
    + Permissions granted.
    + Permissions denied.
      + Instructs the user how to allow permissions while gUM polling is done in the background every 2 seconds until permissions have been granted.

* Misc:
 + Fixed uppercase in bower.json for polymer (installing bower components with --save flag adds entries starting with uppercase)
 + Fixed some CSS color codes to 3 hex decimals.
 + Extended Mic test buffer collection time from 1 sec to 2 sec in order to reduce flakiness.
Must use: window.addEventListener('polymer-ready', ...);

It can happen that polymer elements are not yet present when window.load event is triggered... one should wait for polymer-ready.