Interpreterless parsing.

1. Add abstract `Stream` class.
2. Use new streams instead of raw file handles in `Filename` and `Parser`
   classes.
3. Modify `Parser` so that it doesn't require `Interpreter` instance for
   compiling ASTs.
4. Add AST caching for FastCGI SAPI.