BC Ferries sets price cap