Well, maybe that's true for Angband, but Angband is not the only game that is possible to create using Angband's engine, is it 
Hmm, that's an interesting idea. I recall that Crawl can display an object on a trap at least... Now that grid cells are structs it's easy to add more stuff to them.
Yes, I thought about that. Something like that will probably be necessary to make right mouse click menus work ("run towards" etc).

With tiles and transparency, I think it would be good to be able to draw more than two tiles on a grid - so you can draw, e.g. the floor, a trap/an object, and a monster, one on top of the other. And like you say, it would be good to be able to apply tints of various kinds to the tiles. This could maybe remove the need to have 4 different tiles per terrain feature.
With regard to input, I guess it makes sense for keypresses to be global but mouse clicks are on particular sections of the screen. Maybe that means that mouseclicks get passed along in the ui_event struct with a pointer to the term they were triggered on.
My method is extremely questionable. Initially I planned to leave the Term API more of less as it is, and just do some minimal updates to textui, to get it to work as quickly as possible. And, of course, I ended up redesigning ui-term.c entirely, and I'm rewriting huge parts of textui
So, naturally, when I'll finally manage to compile it, it just won't work, and then I'll have to fix it! We'll see. I simply can't resist the temptation. Right now I'm thinking what to do with ui-object.c... such a pile of nonsense... (btw, debo, I saw horrible things, but I still think inkey() is the worst
I'll just nuke this garbage. Tile picker won't work anyway.
Comment