1. I need to develop a site to host a library of thousands of images.
Let me put it straight, I would NOT use WordPress native Media elements for this, but, instead create a Post Type with a Field "image" and then, upload the images to it.
It requires a new post each image (easy to use in sliders), or a repeating Image field, a bit more complex for sliders.
I am saying this because there are few issues with Toolset and native Media elements if queried as naked media (not via Post Type).
Also categorising and adding meta to the "images" is way easier if those are in a Post Type stored as a field, instead of "naked" WordPress media.
You can as example use Child Relations with this, something you can not with bare Media elements.
(or at least it will create some unexpected results)
All other of your requirements fall into above statement as well
2. Multilinguality isn't a problem if you use Post Types, Toolset and WPML.
For content and media Translation you will have to refer to the WPML forums.
3. Buy things, here I suggest WooCommerce, which is integrated with Views, CRED and WPML.
It would require a Shop, though.
A solution I used in past is a very simple Paypal API link on each Image, where the User clicks and buys the product directly via Paypal.
But that is something you need to develop manually as Toolset isn't integrating PayPal.
But it's definitely worth to have a look:
hidden link
4. About "how it looks", I personally feel, Toolset is enough, with a proper Style (Framework) enqueued to your Theme.
It spares you the headaches of compatibility.
I would for sure give this a try:
hidden link
(PRO Version, NOT for Bootstrap 4.0)
It has amazing helper classes, modified gallery style, etc.
With a few JS callbacks in Views, this also works with Toolset.
I would not fear much compatibility with Toolset, regarding Galleries, but I would make sure WPML declares the plugin (if you plan to use one) as compatible.
This is because many Plugins out there are storing things uncommonly and this can generate issues when translating.