Houston solar company Sunnova files for IPO seeking to raise $319 million