Rename Device->GlBackEnd and DeviceTask->ApiBackEnd to reduce confusion
Rename device::Server->device::Device to reduce confusion
Add some documentation
Remove uninhabited types and simplify type signatures
Merge pull request #81 from bjz/device-type-renames

Type renames and simplifications
Added capabilities for vertex array buffer and uniform blocks

Made the gl device recognize both capabilities