Hi Mark,
Don't forget you can easily create your own ImageryProvider within your app code. Copy SingleTileImageryProvider, modify it to fit within your build architecture (e.g. use globals or CommonJS modules instead of AMD modules if necessary), make whatever other modifications you need so that it does what you need it to do, and you're set. There's no reason such code needs to live inside Cesium.
In a pinch, you can even define a Cesium imagery provider as an object literal, such as:
var image = ...;
var rectangle = ...;
var width = ...;
var height = ...;
var imageryProvider = {
ready: true,
errorEvent: new Cesium.Event(),
hasAlphaChannel: true,
rectangle: rectangle,
tilingScheme: new Cesium.GeographicTilingScheme({
rectangle: rectangle,
numberOfLevelZeroTilesX: 1,
numberOfLevelZeroTilesY: 1
}),
tileWidth: width,
tileHeight: height,
minimumLevel: 0,
maximumLevel: 0,
requestImage: function() { return image; },
getTileCredits: function() { return undefined; },
pickFeatures: function() { return undefined; }
};
I didn't try this, but it's probably pretty close.
Kevin