Allow for community support of other build systems

I would be thrilled if Pay could be decoupled from SBT. I realize Typesafe and the Play team will probably only ever support SBT, but it would be very awesome if it were easier for the community to add support for other build systems. E.g. I use Gradle to build all my other projects and it is extremely difficult to interface them with my Play project. Also, I find SBT to be very difficult to understand and would much prefer to have some choice in using it.

I'd really like for there to be a well-defined interface between Play and SBT. If there were one centralized and well-documented interface that could be implemented for any build system that would be awesome! A wiki page describing what would need to be done to add support for a new build system would be very helpful as well. With any luck, much of the logic that's now in SBT tasks/plugins could be moved to generic Scala/Java libraries and reused in other build system implementations.