Decode bytestring returned from lxml's `toString` early on before sending it out to outer code

- `decode` returned bytestring from lxml early on
- added a new unit test for top image extraction