The rollover functionality now works along side using existing themes and I have commit the code to my branch.

They way it works is this:
For rollover functionality to exist, seven extra rollover device images, identified by a '_o' at the end of the filename, should be added to a theme folder. So they will be:
device_cdrom_o.png
device_ext3_o.png
device_fat16_o.png
device_fat32_o.png
device_generic_o.png
device_hfsplus_o.png
device_ntfs_o.png
When the theme is loaded, the selected device will be replaced with the rollover version. The traditional device_selection will still also be drawn, so it can be used to enhance the theme still or if you don't want to use it you make this an empty graphic in the theme then it won't be seen.
If any of the seven extra graphic files are missing from the theme folder then the booter will default to working normally, so when a device is highlighted in the GUI, the device_selection graphic will be drawn under the device and no image replacement will occur.
Note: At this time, compiling with an embedded theme will fail as I haven't added additional rollover graphics in to the artwork folder. But then again, adding the extra images in the artwork folder for compiling with and embedded theme will result in the file size exceeding the limit.