Previously, `frame_key_at` would return `-1` for when it couldn't find a key for the given frame. This could lead to issues though, because `-1` is a valid key (it is a valid scene frame number). This changes the API to return an optional instead. This makes it very clear when no key was found, and should make it less error prone.