Fix rendering of unicode glyphs in the player.

Unicode glyphs, such as those generated by Vim's powerline plugin, would
break the player since they could not be represented using the implicit ascii
encoding. This change switches to an explicit utf8 encoding instead.
Merge pull request #1 from larsyencken/master

Handle replay of unicode glyphs
Clarify docs on the --join option.
Attempt some basic python3 compatability.
Assume utf8 terminals and datastreams throughout.
Fix hang due to unavailable output.

This fixes various errors I've been seeing with vim, shell history, etc
that would previously hang the recorder.
Remove code for collapsing backspaces, it no longer works.

This will have to be redone in a more clever way, possibly as
a separate "filter" pass during write.
Add a "test" that keeps README up to date with docstring.
Add a note about requiring utf8 encoded terminals.
Use "play" as the canonical command name for replay mode.

I always seem to type this anyway.  The "replay" command is left as
an alias for backwards-compatability.
Give better error messages when --join is used incorrectly.
Implement a basic --append option to continue an existing recording.
Fix flake.
Re-work "replay" command alias to work on python2.7
Restore ability to collapse READ/WRITE pairs into ECHO
Link to javascript-based player in README.
Re-use last known term uuid when recording in append mode.
Add --auto-type and --auto-waypoint options to the player.
Prep v0.2.0
Fix input of multi-byte utf8 sequences.

This basically ensures that all data is utf8-decoded into unicode before
it hits then eventlog, possibly consuming multiple input bytes at once.
It means there's no change of the data failing to encode while writing
out the json.