* add a vertical red line at the expected frametime in frametime graphs
* `KeylessCircleguard` can now load replays which don't require any api calls, such as `ReplayPath` and `ReplayString`
* However, certain attributes of these replays, like `map_id` or `user_id`, are lazy loaded since they do require api calls, and will error if accessed after being loaded by a `KeylessCircleguard`
* the `Hit` class returned by `Circleguardhits` has a new attribute, `type: JudgmentType`, which says whether this hit was a 50, 100, or 300
* add `Circleguardjudgments` method, which returns all judgments, both misses and hits
* sliderbreak judgments are currently not implemented
* add `Hiterror` convenience method which calculates the error in ms from being a perfect hit
* add a `beatmap` parameter to `Circleguardur`, `Circleguardsnaps`, `Circleguardhits`, and `Circleguardjudgments`
* this can be passed to override the replay's beatmap and use the passed beatmap to calculate the relevant statistic instead
* It can also be used as an optimization to avoid re-retrieving the beatmap if you already have the replay's beatmap
* add `Replaymap_available` method which returns whether the replay can, if request, provide the beatmap it was played on
* add `Circleguardmap_available` method as a convenience for calling `Replaymap_available` without needing a `library`
* add `HitObject.time` and `Hit.time` instance attributes as aliases for `HitObject.t` and `Hit.t` respectively
* `time` should be preferred over `t`, and `t` will be removed as deprecated in core 6.0.0