Depends on what you mean with that. The dope sheet control is hard coded, but everything around it is changeable. So the gray area sis what it is, the buttons and the outliner part, marking menu, top menus are changeable.
Try reading the script fiels that build the dope sheet for starters (echo all and whatIs for whaile it should become obvious, usually the easiest wahy is t whatis the marking menu callback)
QUOTE
and there doesn't seem to be any documentation on how to do it
Documentation rarely works this way. It works in way that says how it works not how to do somethings specific. (since telling how something works implies how to do things, off course any document writer cant know what you are going to do if they did then they would have done it for you instead. So if the dcumentation would work in in this manner it would indeed be a stupid document, as theres no point in documenting something you wont be doing since its done allready)