The implementation of `createTextBitmap` is a subset of  `createTextBitmapShadowStroke`. There are some duplicated code in these two functions.
So it's better to keep only one implementation, I mean, just one function `createTextBitmap` to support shadow and stroke.