Initial merge into juju repository

This PR is the initial merge of previous work into the juju/jujusvg repository.
service.Y -= minHeight
service.X -= minWidth

(or if you were using image.Point, service.Centre = service.Centre.Sub(min))