[XLA:GPU] Add a "draft" version of a generic Triton Fusion Emitter.
[XLA:GPU] Add a "draft" version of a generic Triton Fusion Emitter.

This change introduces a new Triton emitter that should eventually replace the existing `MatMul` and `SoftMax` emitters.

Highlights:
- The new emitter is a replacement of the existing `TiledSoftMax` emitter and covers all of those cases.
- For now the new emitter can also generate some non-SoftMax fusions, e.g. I've added a simple reduction fusion test.

TODO in future changes:
- Add more tests.
- The new emitter replaces `TiledSoftMax` but is otherwise unused, because no HLO-passes set it as a backend yet. We should hook it up.
- Extend the new emitter to support 2D and 3D launch grids. At the moment it only supports a 1D grid.
- Compute the `output_tile_sizes` in a generic way or pipe them in from the Tiling Analysis.
- Extend the launch-dimensions computation to support generic fusions. Not quite sure how to do this yet.
