Why are you thinking in such a complicated way...
...to detect if the mouse clicks on/hovers above a simple GUI element, you just have to compare 2D mouse coordinates with 2D screen coordinates of the GUI element. No need for any kind of advanced picking or something like that.
Yeah, that's the same thing that came to my mind. It's really very simple, 2D picking is not a huge task in my opinion. For picking 3D objects (clicking on a monster, a keeping or something like this) I use a combination of JPCT library (http://www.jpct.net/doc/com/threed/jpct/Interact2D.html
) and an own implementation. But it's also not that comprehensive.
Nice art. Who did the art?
Thanks, I made all the graphics. But... what art in particular, do you mean?