V4 front end redesign

I'm merging the front end design into the `v4-dev` branch which will be our working "new master" for v4.

Thanks @alanjosephwilliams!