* refactor: a transport trait and streamable http client
* test: test with js streamable http server
* refactor: separate sse stream connection
* fix(test): streamable http client test with js
* fix(test): wait longer time for js server startup
* feat(transport): support streamable http server
* refactor(transport): add common module for shared transport utilities
* perf(tracing): add more log for streamable http session
* fix(test): fix port conflict in test with js
* fix(transport): fix id generating and session management
1. cancel when deleting
2. use `wrapping` and `saturating` correctly
* chore(naming): rename sse server to streamable http server
* fix(test): skip serialize tool's annotation if empty
1. skip serialize tool's annotation if empty
2. close js server and client when close
* fix(test): fix test with js, don't close too early