renamed `default` token
fixed some unicode hiccups

- compile() is a little finnicky. everything’s great if you pass it a
unicode source string *unless* the string contains a line like `#
encoding: foo` (which raises a syntax error)
- to get around this, we encode the script back to its preferred
encoding then pass the bytestring to compile()
- as a side-effect, the document class is now careful to honor the
encoding string while reading in the text of a .pv file (but seriously,
just use utf-8. it’s on by default…)
console runner now honors encoding strings too
stacktraces now unicode too
new ottobot scripts weren't auto-running

- and now they are again
sandbox no longer requires manual compile() calls

- it’ll now compile things as needed based on its .source and .path
attrs and whether the source has changed since the last run
- it’s quite possible that errors are all being trapped appropriately
at this point
- could also drop the _env reference since the _ctx knows how to
rebuild its own namespace
missing import
cleaned up formatting strings
properly relaying errors to the editor now

- it was getting tripped up by errors in Untitled docs where it thought
they were called None whereas the stacktrace kept referring to
“<Untitled>”
improved script vs animation heuristic

- used to check whether speed() was called in the script’s top-level to
determine whether it was an animation
- now checking directly whether there’s a callable in the script’s
namespace called ‘draw’
- no longer blows up on speed(0), instead calls draw() once then ends
the run (which is kind of useful for debugging)
added a halt() command

- potentially useful for debugging animations
- terminates the current function – presumably draw() – then runs the
script’s stop() function