Have you tried looking through the code, starting with SpawnerBlock?
Best guess, having not tried this myself, is that the TileEntity for the SpawnerBlock controls the spawning, so I'd start looking there. :)
I just opened SpawnerBlock, and the createTileEntity() method returns a new MobSpawnerTileEntity, so following into that class, I see there's a private AbstractSpawner field called spawnerLogic, so I'd probably go there next (as well as scan the rest of the code in the tile entity just to see if there's anything useful). . .you see what I mean.
Find something that looks promising, attempt to implement it, then come back here if it doesn't work, post a link to your code (having a github repo is the best way to share your code, and you likely will get more help having one, since it's easier to search through/clone/debug/etc) and also your debug.log (posting as a github gist is probably the best way, again with a link to here).