Lens4

I think this is ready to merge now, along with https://github.com/diagrams/diagrams-core/pull/51.  Both build for me with RC1, which is my main motivation for the update.  -contrib and the backends HEAD build against this branch also.