Top inset is now taken into account in certain cases

The top inset (landscape or portrait) is now used to calculate the `top`
when `shouldMoveToTopWhenKeyboardAppears` is set to `YES`. This is only
applicable when the form sheet can fit in the screen’s frame when the keyboard
is visible - otherwise `top` is defined as `0` or `statusBarHeight` so that as
much of the form sheet as possible is visible.

This gives the user additional flexibility as they can decide how far up a given form sheet should appear when the keyboard is present.