Add shadertoy example

Closes #420.
Depends on what you want the gallery to look like (and test to operate on). If you want it to look cool, you probably want to do my solution above instead (make a `canvas = Canvas(SHADERTOY)` variable), otherwise it's going to use whatever is done for `Canvas()`...