AngularJS directive for enhancing a text input for entering numeric values, with up/down buttons and arrow key handling.