Cesium has support for web mercator. Here's a code sample:
var viewer = new Cesium.Viewer('cesiumContainer', {
sceneMode : Cesium.SceneMode.SCENE2D,
mapProjection: new Cesium.WebMercatorProjection(Cesium.Ellipsoid.WGS84)
});
So your class would need 'project' and 'unproject' functions.
For something like Winkel-Tripel projection, you might run into some weirdness with the infinite scrolling. I would recommend starting out using the rotation map mode for 2D:
var viewer = new Cesium.Viewer('cesiumContainer', {
sceneMode : Cesium.SceneMode.SCENE2D,
mapMode2D : Cesium.MapMode2D.ROTATE
});
If you do implement Winkel-Tripel, let us know! I think that's something other people would be interested in, we would love the contribution back =)
Best,
Hannah