major implementation work on arcBall.

Works for the most part, not sure how to best generalize it
changed metal = false to work on it not in metal