Live edit React components without unmounting or losing their state (a Webpack loader)