Added support for labels on the advance() method

Requested in #32 

I've added some tests, and mirrored the existing tests for labels (including not displaying a label at 100%)
@GrahamCampbell That would be inconsistent with the rest of the project. It would be better to remove all spaces (separate to this pr) or leave them all in