Splitting flask.Flask logic into multiple "mixins"

This pull request split `flask.Flask` object into many, specialized, so-called "mixins", getting inspired from `werkzeug.wrappers.Response`.
This has three main goals:
1. make reading a bit easier: you should be able to find faster what you're looking for, instead of digging through the megalithic `flask.Flask`;
2. identify mixins common to application and blueprint objects (see #593);
3. inspire discussion about spitting `flask.Flask` into specialized object, accessible through `Flask.routing`, `Flask.templating`, etc. that could be overridden more easily.
I did my best to find the right mixin for each function/attribute, but I'm really unsure. Please, don't bash me too hard if I'm wrong ;-)