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. 
Looks great, thanks @yxl!