Add custom files/file-fields to panels pages
What you are looking for is a customized fieldable panel panes. You can also check Panopoly Widgets for a similar example. It contains a lot of custom widgets which can be embed in panel panes and customized.
Fieldable panels panes makes your widget data as fieldable entities instead of node/content types(which is what you want).

If you want dynamic background images on a specific page context, you could check the dynamic background module.