Boris Johnson: Conservatives lose North Shropshire by-election as pressure mounts on PM