Learning Agile Swimming: An End-to-End Approach without CPGs