big commit: inlined 3 libs ua-parser, three.js and hammer, then using ua parser to detect devices/OS that need to fallback to carousel, surface on top and bottom of the cube dont have textures now in case three.js renders/does something with them when not shown, so this is possibly and optimization, typedarray still needs to be loaded for IE9, no fallback imple yet, more comments and using common performanceProfile object thats inited in begin
do ua parsing first and check for ie9-desktop
use window.cubeContainer string as dom id if given as global, add release event and set angular velocity (omega in code) only then to defined rotation speed and when dragging keep cube attached to finger (as i think user expects it and it gives more feeling of control), this should also remove the problem on rotation too fast, the math on finger drag does not work yet (it always "selects" the first surface)
if IE9 and no typedarray native impl, then set texture maaping lower as it affects performance regardless if in mobile or not. use angular velocity "omega" now, adjust it according to hammerjs' velocityX and remove release listening for now
update hammer from 106 to 109, helper code to determine velocity direction as hammer doesnt take it into account so the cube sticks to the finger better now
adding wrapping up cube init code into document ready function so that it waits until the $ at end body is loaded and ready to be used because the cube script will be adding in the head. adding minified version html - js pair of the one using hammer