Code Refactoring and Cleanup
Added Shadder support and mouse clicking.