HeadsUp: added option for choosing heads up position
Takes soft keyboard state into account so bottom/center heads up won't
interfere with the keyboard. Behavior is dynamic - heads up currently
showing will be pushed to the top as soon as keyboard pops up and vice
versa, return to user defined position as soon as keyboard is dismissed.