move demo-sections into their own files
got burned by watchChanged in route-link - was breaking firefox. also fixing a small bug if a popstate is firing but window.location.state is undefined