All sorts of CSS & JS changes

Big commit, you can check out the to-do list to see things ready for
testing in blue