Rename bad method names

Xcode now warns that the present/dismiss methods we used are
deprecated. Actually, Xcode is right in the sense that you're
expected to override methods when you want to replace them, so if
they're deprecated in the base class, they're also deprecated in
its descendants. This is not what was intended in the first place,
overriding those methods was a bad, bad idea.
Invoke the appearance methods like UIKit

Now the appearance methods show up in the same order as when UIKit
presents the modal view controller.
Don't automatically forward the appearance methods

Since we only display one child view controller at a time (well,
except when in a transition), the default behavior of simply
forwarding those methods to all children is incorrect.
Style fixes
Require iOS 6.0

Otherwise we'd have to stop forwarding rotation events as well and
forward them manually. Not doing that for now.
Add a big fat warning about the renamed methods
Also warn about requiring iOS 6.0
Layout the root view container manually

We can't rely on autoresizing hints for the root view container
because the transform affects its frame. So we reset it and apply
the transform again after the view layouts itself. We can't try to
reset the frame and transform during the animation, though, so we
have to keep track of that.
Set the modal view frame before the appearance transition

That way the new frame is available for the appearance methods on
the modal view. Note how the modal view container frame was also
incorrectly set in loadView, since it's reset before we present
the modal view. Also note that we were resetting the modal view
frame with the wrong value, since the modal view container frame
hadn't yet been set.
Reset the root container effect after the presentation

We need to reset the container effect after the presentation,
otherwise the frame will be wrong by the time we dismiss. If the
rotation happened during the presentation animation, we don't reset
it in viewDidLayoutSubviews because that would halt the animation.
Instead, we force the reset after the presentation animation.

Note that viewDidLayoutSubviews is called after the dismiss
animation, but not after the presentation animation, which is why
we don't need to call reset after the dismiss animation. This is
probably because the dismiss completion block changes the view
hierarchy, which in turn invalidates the layout.
Set the anchor point before the frame

That way we don't have to offset the frame.