You could use my ScriptPanel 2 scripted script panel for executing target standalone scripts which could also be activated by ExtendScript ToolKit and File > Scripts menu as well!
Sometime, some day I will put it up on my GitHub for you to use.
It has many complicated settings and can use various display visual modes and yes you can use your own images to make your buttons be icons, control their size and row/column orientation.
You can even assign different images for different view-modes, showing one icon when the panel is shown as buttons but a different icon when it is shown as listboxes. Additionally, it can be minimized to a 'mini-tab' to be moved out of the way easily.
It is complicated and unfinished and based on ScriptUI and uses BridgeTalk, but it's just a .jsx and here's even a screenshot of it for a sneak preview!
