Avoid boilerplate when defining frames

This adds a `newframe` function, reducing the amount of text to type
when defining frames.
Simplify nook slides by using `newframe` where possible