Properly check errors in executables

Instead of silently stopping reading when errors appear, report to stderr and fail.
Also, check for `buffer_new` and `buffer_grow` errors.

Haven't tried, but after this Hoedown should parse large files without problems, at least in the executables. Can anyone confirm?