finish snapping algorithm implementation


Former-commit-id: 59e2bece415ce59ed6f7d0c49c88776dbaf40e20
finish gui implementation for coloring the head


Former-commit-id: 3e0b63b0e93e2c14ac63da41db4535491b6c5517
add keyboardAndMouse libqglviewer example


Former-commit-id: cc53cdfac4af6d7b42b9c1de79ceea32c5d2ab5d