Multiple changes

- Moved certain declarations into separate new files, for more
  lightweight header dependencies.
- Added ifdefs for partial compatibility with GL ES 3.0.