Bug 877683 - [MMS] Compose field obscured by subheader r=gnarf37

In accordance with the UI specification, update the interaction between
the "subheader" elements and the Compose field. Specifically, this
means:

- Some elements should never obscure the Compose fields (when active,
  they should instead "push" the Compose field downward if it is
  rendered at maximum height. These elements are:
  - The Recipients List (or "To: Field")
  - The "MMS Max Length" notifications
  - The "Carrier" element
- The "Message Convert Notification" should render overlaid on the
  Compose field.

To implement the specified behavior, this commit includes the following
changes:

- The "subheader" elements
  - Markup has been updated to differentiate between notifications that
    should push the Compose field downward and those that are "overlaid"
    on the Compose field.
  - Styling has been updated to ensure that the appropriate elements
    trigger resizing of the "subheader" (while taking care not to alter
    the visual presentation of these elements)
- Compose field height recalculation:
  - Scheduled to occur whenever changes in the DOM may change the height
    of the "subheader"
  - Removed logic that triggered recalculation in response to the
    global `hashchange` event (the above change obsoletes this more
    simplistic heuristic)
- Maximum input height calculation now has been generalized to honor any
  change in height to the "subheader"
- The Compose field's height calculation logic has been updated:
  - Modify the input's scoll offset (in order to prevent undesired
    changes in position)
  - Comments and variable names updated as appropriate
  - Remove meaningless CSS calculation (setting the `bottom` attribute
    of a `position: static;` element)