Performance improvements:  - added caching of state so DOM is only updated when required.  - split updateTableHeader() into two separate functions: updateWidth and toggleHeaders
Performance improvements:
 - added caching of state so DOM is only updated when required.
 - split updateTableHeader() into two separate functions: updateWidth and toggleHeaders

ITtenax/StickyTableHeaders,zheryu/StickyTableHeaders,mamigot/StickyTableHeaders,mamigot/StickyTableHeaders,MSWTLM/StickyTableHeaders,teej-minted/StickyTableHeaders,jmosbech/StickyTableHeaders,teej-minted/StickyTableHeaders,MSWTLM/StickyTableHeaders,zheryu/StickyTableHeaders,ITtenax/StickyTableHeaders