Solve Exercise 5-12: flexible `detab` and `entab`