5.3.2
**There are these issues existing before this commit:** (1). If no dimensions specified on dataset, series can not really share one storage instance. (Because the each series will create its own dimension name (like ['x', 'y', 'value'], ['x', 'value', 'y'], and the storage hash is based on those names. So the hash can not match). (2). Each time `setOption` update series (but not change `dataset`), new data stack dimensions (and corresponding chunks) will be keep added to the shared data storage, and then the chunks will be more and more. (3). When "unused dimension omit" happen, the index of SeriesData['dimensions'] and SeriesData['getDimension'] is not the dimensionIndex that users known. But there are someplace still use dimensionIndex to visit them. (especially in visualMap and other similar cases that user can input dimension index via option). (4). If user only specify type but no name in dimensions, their will be some bug when "unused dimension omit" happen. (Because unused dimensions will not auto-generate dimension name by `createDimensions` and so that it has no dimension name in storage, and can not be queried by dimension name). (5). If different series option specify its own `dimensions` but share one `dataset`, the `source` get by `sourceManager` is different `source` instances in each series. Those `source` instances contain different `dimensionDefine` but reference the same data. And then a data storage created by based on s
fix(visualmap): use createTextStyle on handleLabel and indicatorLabel. close #14440
fix(visualmap): remove getTextShadow, createTextStyle already did that. close #14440
style: fix lint problems.
fix(visualMap): remove unnecessary logic
refact: put all core modules in the core dir. only do export in lib/echarts
fix: not install directly to avoid installed twice.
refact: make components installable
fix(type): optimize types for dts bundling
add axis model creator type
refact: fix bugs caused by the refactor. export types