refactor(tabs): adds support for non-fixed tabs

Closes #825.
Closes #460.
The reason I changed this to use percents originally was because it fixed problems when the tabbar or its container is resized.

Resizes can happen arbitrarily, and they won't always trigger a window resize event.

Is there any way we can make this use percentages to set the ink bar's position?