Streaming Decoding

Added member functions to the Encoding class so that streams of bytes may be decoded into code points, either code point-by-code point, or en masse into a buffer of code points, without causing unexpected end errors (since the number of bytes extracted from a stream is random/variable and doesn't reflect the actual well-formedness of the underlying string).

Internally reimplemented Encoding::Decode in terms of these member functions.
Encoding::Size

Added the pure virtual Encoding::Size method, which allows polymorphic determination of the size of an encoding's code unit.
Makefile Cleanup

Removed a directive from the Windows makefile that was carried over from a previous project from which I stole the makefile as a template.