Composer.json: improve forward compatiblity

Nette 2.1 and 2.2 have most of the code base in common, the major difference between those two versions is the splitting into smaller packages. Most of the extensions for Nette 2.2 are compatible with 2.1 and vice versa.
I would like to be able to support both Nette versions and yet be able to correctly define dependencies - e.g. if I have almost no Nette-world dependencies I would like to be able to require `"nette/di": "~2.1"`, currently I would need either require whole `nette/nette` or keep multiple branches of my extension for each Nette version.