LPS-50458 - Migrate Shopping portlet aui-base javascript

Hi Rob,

Attached is an update for https://issues.liferay.com/browse/LPS-50458.

While doing the migration, I discovered multiple bugs in this portlet and created these issues:
https://issues.liferay.com/browse/LPS-51322
https://issues.liferay.com/browse/LPS-51364
https://issues.liferay.com/browse/LPS-51367

I split up the implementation of the fm plugin into a few commits so it would be easy to remove certain changes.  Specifically the changes in f32bb81 and 5292257, which required some major re-factoring to code blocks that don't have any other migration changes.

Looking back at all my changes and the bugs I found, it makes me wonder if an entire overhaul of the js in this portlet is a better way to go.  Everything just seems very hacked together.

Please let me know your thoughts.

Thanks!