Massive refactor to rename width - it's currently used(!) by OpenSoC.
Fix width to follow old implementation but make related fields package private.