Don't reassign the canvas context font if there is no change.

I found in a midlet that the same font could be set to the context multiple times. 
Since setting the font of the canvas context is an expensive operation, I removed these unnecessary font setting operations and reduced 3/4 of total calling time with the `Font.stringWidth` method. 
Yes, it is needed.

When a css string, such as ` 10 pt Arial, Helvetica`, is set to `context.font`, it will be formatted to `10 pt Arial,Helvetica` with some spaces removed.

We need css string has the same format as that of the canvas to do comparison in `withFont()` function.