Split osmesa code into its own build target

Some osmesa code uses the "real" OSMesa API headers and those are
not 100% compatible with the wrapper API headers normally used.
That incompatibility means that they cannot compile in the same
translation unit (jumbo builds). This splits the osmesa files
into their own build target to avoid potential conflicts.

Also changes the code to be consistent with how osmesa.h is included.

Bug: 864986
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ifc96cf25f7b69f23f293e297ab59ce5192f1cd20
Reviewed-on: https://chromium-review.googlesource.com/1149874
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#578588}
3 files changed