Let's extract this to a separate class. The `ShapeBasedPlacer` already has 2 responsibilities: placing and nudging words; making a Shape from a string of text and a font name (which means it also has to _load_ the font) seems like extra jobs that don't relate to placing or nudging words.

In fact, you could probably massage the `WordShaper` class to do this - it takes a `PFont`, rather than a font name, but we can adjust it.