Barycentric rendering

Very inefficient, lots of duplicated code, but should help us design the requisite abstractions.
``const``?