Add ability to obey Flask's autoescape in context

Default behavior is unchanged with this patch. If the user passes `autoescape=True` to the Markdown constructor, the Markdown filter will now obey autoescape in the evaluation context of the template. This covers both the default autoescape instituted by Flask for templates with certain extensions, and explicit autoescape control using `{% autoescape %}`.

Also added docs and tests to cover both new and default behaviors.

Please let me know what changes you would like to see; I'm a fairly junior developer, but would be happy to fix my own mistakes so you don't have to. Particularly with the issue of where to store the Markdown instance and autoescape option, currently shoved into the Flask app config globals.