refactored. use "CrystalViewer" object to encapsulate data and operations
refactoring: index.html was futher simplified. CrystalViewer now only need "bases", "atoms", and "containerID" to initialize.