tests to see how much caching helps
try caching get_screen_size
caching printing of lines

may be overzealous, not clearing the cache on scroll_down - but I
must not understand the system, because bpython-scroll still works
fine, so not adding for now
clear rest of screen instead of each line on exit
fix speedtest testcache
stop flushing, logging after every write
whoops, old code won't work - initialize screen size cache
no more explicit flushing
cache FmtStr str, unicode and len
add fast path to FmtStr.from_str
ability to fake input for testing
Merge branch 'faked-input' into need-for-speed
FmtStr getitem optimization

bpython-scroll speedtest runs in 60% of the time

Performance might be slightly worse for fmtstrs that stick around for a
bit - they're no longer being cleaned and combined via from_str on
__getitem__.
just fix some tests
python 3 fix