Describir: Minimizing and Exploiting Leakage in VLSI Design