Start consolidating and rewriting code from GL4.3 old codebase and GL3.3 attempt #1 codebase.