Prevent resize infinite loop in TableView when scrollbars are always on (#4846)
* rough solution
* simplify to array and include it in the pre-existing state
* alternative placement
* making table column header match body width with subpixel precision
clientWidth was rounding the width value of the body and setting that as the visible rect. This meant that the column header row was sometimes set a bit too wide due to the rounding up, thus causing scrollbars to appear when the table matches its flex container width. These scrollbars cause the infinite calc loop in the issue
* fix a bunch of tests
* fix remaining tests
* fix lint
* handle SSR
computedStyle doesnt work in SSR, fallback to 0
* reverting test changes and fixing crash by removing set width on head wrapper
it seems we may not need the width on the head wrapper since overflow:hidden on the head wrapper sets its min-width:auto to compute to 0, making the headwrapper not affect the computed width of the wrapping flex container regardless if it has a ton of columns
* fix lint