To make it even more complicated for you, you could probably use all of your suggestions.
The big question is:"What are you trying to achieve?"
First of all if you want to be able to use it on touchscreen you better start with touch right away. Touch and mouse work differently, so if you have the mouse-part working it could go bust on touch-screen.
on touch start add a variable for x and one for y and compare them to on touch end x and y. you can then get the angle(touchstart.x,touchstart.y,touchend.x,touchend.y) and send your puck in that direction with for instance the bullet behaviour...