Returns the foreground surface for this item.
The draw_func may pass through the given previously computed surface or change it as needed. This surface will be buffered internally.
Passing null as draw_func will destroy the internal foreground buffer.
function which creates/changes the foreground surface
the background surface of this item which may not be changed