Cleanup some issues with Tk

This does a few things:

* new function tk_string_escape used to allow {, [ ... characters into functions expecting strings (Entry, Text, Button, Label, Checkbutton, Radio)
* clean up forget (was broken)
* clean up children (new ismapped argument)
* Cleans up Tk_CairoCanvas (though it could still be tidied up. Allows canvas to be considered a child of a container)