Refactor fatal error handling
No longer uses ob_start() / ob_get_contents() but a combination of
register_shutdown_function() and error_get_last(). This way, we
can use the output layer as it was intended to, and stuff like
var_dump() will write immediately to it.
Also output compile errors
E.g. when not implementing all abstract functions
Merge branch 'master' into refactor/fatal-error-handling
QA: Fix inline docs
Clear last error without nasty unitialized variable hack
Merge pull request #30 from thekid/refactor/fatal-error-handling

Refactor fatal error handling