[FEATURE] Configurable animation directions

This pull request changes methods which used to take a (BOOL)animated instead to take a (FRLayeredAnimationDirection)direction, which animates the view in/out of the top, bottom, left, or right (or none, equivalent to animated == NO). This gives the user some configurability over the visual flow of their app by, for example, allowing animation in from the top and out from the bottom, or in from the right and out from the left, for a consistent visual experience.

Was merged with master@51d163614 so should be a clean patch.