fix(recipe): follow dart:convert.JsonCodec JSON encoding convention

- `recipe.dart` of Chap. 5:
  - Follow (new?) [dart:convert.JsonCodec#encode](https://api.dartlang.org/apidocs/channels/stable/#dart-convert.JsonCodec@id_encode) encoding convention and replace `String toJsonString()` by `Map toJson()`.
  - Some code cleanup.
- Chap. 6 & 7 made to match updates to Chap. 5.