Minimise usage of ng-show/hide to reduce number of useless DOM elements (fixed)

Progress in the direction of #87, especially on mobile.
This version doesn't break everything for new users.