Why innodb doesn't store geospatial data?
Because R-Trees are not B-Trees:


  For MyISAM tables, SPATIAL INDEX creates an R-tree index. For storage
  engines that support nonspatial indexing of spatial columns, the
  engine creates a B-tree index. A B-tree index on spatial values will
  be useful for exact-value lookups, but not for range scans.


Adding a completely different storage structure for InnoDb is significant effort (much more than for MyISAM due to locking and recovery).