Prof pages

Ready for a review, some UI elements may be changed but the core seems good. 

Closes #142
1. Before the first `if` statement, add `options = options || {}" to protect against `null` options (I'm not sure if that is possible here, but just incase)
1. We should test `if (options.course)`, because that will test for both `null` and `undefined` (and it's more concise)