Add shadertoy example

Closes #420.
You have two choices. Either make it so that `Canvas()` can be called with no arguments, or make it so that there is a `canvas = Canvas(...)` variable created when the script is loaded. You can do this as:
```
canvas = Canvas(SHADERTOY)

if __name__ == '__main__':
    canvas.show()
    if sys.flags.interactive == 0:
        canvas.app.run()
```