utils: Use libgd for framing and turn the asset into a resource
base-item, filterable, search-match, search-type, source: Add get_id

Better than having to use g_object_get to get the "id".
application: Avoid typecasting possibly NULL pointers
base-item: Reduce the number of thumbnailing invariants
base-item: Clear the thumbnail path if the thumbnail is invalid

In some cases, thumbnailing might have failed even if we have a path to
the thumbnail image. eg., the downloaded thumbnail for some remote
content might be damaged.

Clear the thumbnail path and remove the invalid file to maintain the
invariants assumed by the code.
base-item: Add debug messages for failing to use a thumbnail file
searchbar: Update style class name