Allow safe use of PHP-Error in production env. by handling display_errors properly

If display_errors is false, error handling will work normally, but no broken output or error message will be displayed. The page will have 500 status code.

Additionaly, you can provide "error_page" option, with an user-friendly html or php file to print in case of an error.

This way you get across environments:
* consistent error handling and logging 
* error messages on development
* pretty error pages on production - whatever happens
* 500 status, so it won't be taken up by search engines, or AJAX requests