Replace C file streams with POSIX handles.

This gives us access to unbuffered streams, allowing us to implement our
own buffering with `Stream` class later. Also in theory a minor
performance boost when reading files or writing into files should occur
with this.

Downside is that there is currently no Windows implementation for file
I/O but that shouldn't be a problem yet since we don't support that
platform yet. It should be somewhat easy task to implement file I/O on
Windows platform with it's own API. More details on that can be found
at:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb540534%28v=vs.85%29.aspx
Merge pull request #76 from peelonet/file-stream-rewrite

Replace C file streams with POSIX handles.
API: Get rid of the comparison operator.

Inspired by API changes in Python 3, I got rid of the comparison
operator and `__cmp__` magic method. You can achieve same functionality
with `__eq__` and `__lt__` methods, but with less clutter and
ackwardness.
Merge pull request #77 from peelonet/no-more-compare

API: Get rid of the comparison operator.
Update TODO.md
Implement buffered streams.

Adds buffering and line number counting to the abstract `Stream` class.

Currently it does not work well with sockets, especially in the builtin
HTTPD. Workaround for this is to disable buffering with sockets. Some
kind of socket timeout is possibly required for buffered sockets.
Merge pull request #78 from peelonet/buffered-streams

Implement buffered streams.
Alternative syntax proposal.

As discussed in issue #22, I am not happy with the current template
syntax. This commit modifies parser and examples for a new kind of
syntax, inspired by Jinja2 and Liquid templating engines.

New syntax in a nutshell:

    {% code block %}

    {{ escaped expression }}

    {! unescaped (dangerous) expression !}

    {# comment #}

Feel free to comment your opinion about this. If this completely sucks,
just close the PR.
Merge pull request #79 from peelonet/alternative-syntax

Alternative syntax proposal.
Experimental: Vector which uses memcpy.

Needs to research on whether using memcpy to copy C++ objects is safe or
not.