Get rid of bstr

It was used everywhere, but since most time strings were just
passed from one place to another, it wasn't that much work after
all.

The main change in behavior is now that the lexer allocates new
strings for some kinds of tokens, where it could go alloc-free
before.

One "dangerous" issue is that a (bstr){0} was simply a string of
length 0, while char* can be either NULL or "". This might lead
to unintended NULL-deref in some places where the original code
had absolutely no issues. Some of these actually happened when
running the tests (and thus could be fixed).
Add ISC license

This covers all code (which all was written by myself), except the
Makefile. Although the Makefile carries over extremely little content
from the mplayer2 Makefile, it might still be subject to the original
license (IANAL).