Implemented support for <overload> element

The <overload> element simplifies the addition of overloads for
backwards compatibility. It is defined similar to the <replace>
element, but instead of replacing the parameters of a function
in-place, it adds a new overload and modifies the overload instead.
Moved overload to overrides.xml

Overloads for backwards compatibility should now be placed in an
<overload> element inside overrides.xml.
Strongly-typed enums for ES 3.0 (WIP7)

Implemented section: Sync Objects and Fences [5.2].
Fixed desktop OpenGL wrapper for ClientWaitSync and FenceSync.
Strongly-typed enums for ES 3.0 (WIP8)

Implemented sections: Hints and Sync Object Quries.
Renamed SyncParameter to SyncParameterName, as per the OpenGL naming
conventions.