WARNING: Do not revert back to the previous commits after this one!
Doing so will give away items for free (as players will be able to take
out any items that they prevously selected with the item picker)
If you want to be able to revert then maybe it'd be better to make the
existing code store a copy of the item in its own inventory first (like
mese tubes in pipeworks).
The GUI currently uses flow because I'm lazy, if more performance is
needed then I can probably convert it to a formspec.