Normally-Off Computing Design Methodology Using Spintronics: From Devices To Architectures