Sorry but I am not warm to this idea. In my opinion content features (features that plug into the content system) should be completely self contained and not have any dependency on other content features, it should only depend on mojoPortal core and sub systems. If you need a gallery as a sub feature within your feature you can borrow code from the gallery feature but you should create your own table and not depend on the table that belongs to the gallery feature. If you have a "my projects" custom feature and it needs to store information about images for your projects in the database then you should create your own table to keep track of your images, you are welcome to base your table on the schema for the table used in the image gallery feature but you should not use the same table. It would be different if there was a sub system for galleries rather than a content feature but that is not how the gallery was implemented, it was implemented as a content feature and no other content feature should take a dependency on it. I would like to have sub systems for comments and tagging and that is on our road map and once implemented can be re-used in other features. Building a gallery sub system might be an interesting idea but it would have to be implemented in a way to make it easy to use in content features and it is not currently a planned sub system and probably will not happen any time soon.
As far as suggesting new fields for the existing gallery, I'm open to the idea if people want a way to disable an image but I would base that on more than one person requesting it and making the case why they need it, no-one has ever requested it before. To me if you don't want an image in the gallery then delete it or don't upload it seems to solve the same problem as IsVisible and I see no difference between IsVisible and IsPublished.
Also if you are wanting to contribute to the project you should first send me a signed contributor agreement in the mail so that I have it on file before I ever see your code.