Layouts lecture

Code from our layouts lecture. Requesting that we should merge it with master so that we can have a clean state before creating the code for next week's lecture.

Note: Some sample layouts are still being included. They serve mainly to illustrate what certain layouts look like and how to use them. It's probably best to remove them in the coming weeks if nobody is opposed to leaving them in for people to look at for a little while.