SHRIMP: solving collision and out of vocabulary problems in mobile predictive input with motion gesture