I've experimented with PlayCanvas and the upfront load time is a deal breaker. It feels bloated. Three is impressively small (although I know it doesn't try to do nearly as much).
Phaser, on the other hand, seems alright for 2D though their docs could be better.