Factoring nonnegative matrices with linear programs