fix #84 check if the filename is String

`filename` could be `Tempfile`, for instance. To make #84 case working, you may need to add `file_warning: :warning` when initialize the instance since `Tempfile`'s filename has no extension. `Roo::Excelx.new(params[:file].tempfile, file_warning: :ignore)`
Would be better to use `try` instead of calling `is_a?` and using `and`