Various in-progress fixes.
Rename lexer.c's T_INITIAL to T_START.

This avoids conflict with parser.c's T_INITIAL which we'd like
to move to parser_interal.h. Ideally the lexer would be independent
which would let us change the name back.
Move parser state and mode enums to the header.

This allows us to use the enums in the state structures which
gives us both type checking, and more readable debugger output.
Add a comment to the platform #ifdef forrest.
This test is timing out again. Disabled.
Add a unit test for find_bytes.

When run under valgrind (./configure --enable-valgrind && make check)
this test shows the invalid read problem reported in
https://github.com/mozilla/webvtt/issues/21

The find_bytes() function is static, so the only way test it is
with #ifdef'd code in the same source file. Unfortunately parser.o
won't link on its own. I uses symbols from most of the other source
files as well.

Probably find_bytes should move to a separate source file or
string.c, and be WEBVTT_INTERNAL so we can call it from the
gtest framework in test/unit.
Shayan's fixed find_bytes() from issue #21.

Moving the conditional to the start of the loop avoids an
invalid read if len < slen.
More verbose output from the find_bytes() unit test.

Doesn't seem to work? Should only show/not show a problem
under valgrind for the current implementation.
Build the find_bytes unit test as part of 'make check'.
Fix find_bytes unit test build.