[shaper] Rewrite shaper data code to be more template-driven than macro-driven
14 files changed