Set up a Spree.routes.root property via js

Provide the application a global accessor for the root path in js as
stores are not always mounted on the root domain "/"
Touch a variant every time a stock item is updated (to bust caches)
[api] Cache variant objects, leading to a 4x faster response