Style Cleanup.

* Don't include headers included by the required included headers.
* Don't include the umbrella header in its own module.
* Fix spacing between includes and content.
Style Cleanup.

* Streamline class section comments
* Optimize member variable order
* Use the override keyword in overridden virtual functions instead of duplicating the virtual keyword
* Explicitly type enums and convert each to an enum class
Style Cleanup.

* The definition order should match the declaration order
Style Cleanup.

* Initialize variables using a constructor instead of the assignment operator
* Clean up vector iteration
* Cache data on the stack to reduce function calls