add virtual method fillText
add virtual method createSurface, add shadowed fillText
move fillText to superclass
refactoring