Shanghai protesters face off with police