Resolved issue where the input in the scroll view would dramatically shift and sometimes get stuck behind the keyboard.

If the input was at the bottom of the scrollview, the initial offset could be beyond the bounds of the scrollable movement. This caused the initial placement to be correct but if touched or updated, the scroll view would fix itself and the input would end up behind the keyboard. To fix this I added content inset to the bottom of the scroll view and adjusted the offset to not allow it to go past the interactive bounds.
Added example to the demo app.
Fixed insets so they are always the full keyboard height.
Initial keyboard calculation adjustment for hardware keyboard.
Fixed scroll Inset