I'm more than sure that python plugins are allowed to add panels and buttons and whatnot to the interface. I suppose you just ran into the wrong person to ask questions.
OTOH I'm afraid I don't know specifics either so I guess I'm the wrong person to ask as well.
Oh, it does allow you to add buttons to panels. It doesn't allow you to add area types, dialogs and tabs in the properties area.
Also there is no such thing as a button callback in Blender UI. The only thing you can do is insert a button which calls an "operator". You can define your own operators of course, but this only works as long as you don't want to generate the buttons dynamically. Then you'd have to generate operators dynamically, and things only go downhill from there...
OTOH I'm afraid I don't know specifics either so I guess I'm the wrong person to ask as well.