Recoded shader and texture, major refactor, javadoc