Multiple changes

- Moved the texture-related enumerations into separate headers.
- Moved the implementations of Texture functions into the implement/ directory.