Updates to improve markup and semantics

- Now using the main element
- Removing superfluous and invalid markup around header/footer
- Fixing issue where page view was not attached in the right location