factor out processing of individual files into a separate class
add -x/--change-tabs to change leading tabs to spaces