How about instead of including a full blown VM in the all in one, you include Packer
, along with a template that would install and do everything needed for IOU upon GNS3's installation.
This will allow the IOU VM to potentially have a full blown GUI and everything, while only increasing GNS3's installer size by ~100 MBs.
It might potentially also allow user Packer templates to be stored in a project's folder, making it easier to share a topology - right now, sharing the project folder alone is not sufficient if you don't also get the VMs in addition to that, and register them "manually" prior to opening the project. Imagine if instead, upon opening a topology, if you don't have a VM named in a particular way, a packer template (defined previously in GNS3; stored in the project folder) will be invoked, and you'll have a base VM ready to go after a few minutes.
EDIT: Oh, crap... This topic was longer than I thought (I don't know how I missed the additional pages...) and I see someone has already suggested using Vagrant to make IOU. Well, Packer is just a way to prepare a VM that could eventually be provisioned by Vagrant, though for the purposes of GNS3, Packer alone is sufficient.