Sergiusz Bazanski and bradfitz shiny: add OpenBSD support
We mostly re-use existing X11/Linux or X11/Dragonfly code.

Notes:
 - in OpenBSD, all X11 headers are in /usr/X11R6, thus we need to add this to the linker and include paths
 - in OpenBSD, we seem to need to open MIT-SHM segments with 0666 rights - this could be fixed by passing the SHM segment by file descriptor instead, via X_ShmAttachFd & co.

Change-Id: I2c2d50b5f8d9f1ee2c9c64d131b556d5e337be6f
Reviewed-on: https://go-review.googlesource.com/79917
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Latest commit a05f2c1 Nov 26, 2017