Stop using shared GL contexts and move to native OS surface sharing

r? @metajack