Speedboost: cache which yields are allowed by currently invented inventions. Python read access to cache (player.canUseYield()
This removes the hardcoded "must be invented" yields from the code.