meson.build: add soname versions to the generated libraries
This makes it easier to use libei as a subproject.
Note: I spent quite some time overthinking this but what we have here is good enough. Same approach e.g. GLib uses too (except for the stable/unstable tick/tock versions).