Fixed arcball implementation