Truncate long service display names

Long service display names were overflowing on the canvas, particularly for ghosted charms, which have opening and closing parens plus an uncommitted icon taking up additional space. Truncate appropriately and provide a tooltip with the full name.
This getter is now getting complex enough that it should have it's own unit tests so it'll be best if it gets moved into a method on the class and the truncate function that's nested within also broken out into it's own method.