Document all public structs, enums, traits, functions, fields, and
variants across the library. Adds crate-level documentation with a
usage example, module-level docs, and API reference links where
applicable. Also fixes four bare URL warnings in existing doc comments.
Per the SSE specification, multiple data: lines within a single event
should be concatenated with newline separators. Previously, each data:
line overwrote the previous value.
- Check HTTP status before parsing response body, matching the
pattern used by generate_content and predict_image
- Unwrap TextEmbeddingResponse enum, returning TextEmbeddingResponseOk
- Extract CountTokensResponseResult struct and add into_result(),
returning the unwrapped result instead of the raw enum
- All endpoints now consistently return the success type directly
and surface API errors as GeminiError or GenericApiError