use `page:change` event so components mount on cached pages

Currently components only mount on initial page load using the `react_ujs` method.
When visiting a page cached by Turbolinks (e.g. going back) the component doesn't mount.