Detects external keyboard. Exposes the flag publicly. Stops the keyboard shifting if keyboard external, and disables tap gesture for dismissing.
Improves external keyboard detection, bypassing it when the panning-to-dismiss keyboard is active
Fixes a bug in iOS7, pushing the text input higher than the keyboard, showing a blank spot.
Improved external keyboard detection even more
Refactored external keyboard check in different method